﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entities;
using DAL;
using System.Text.RegularExpressions;

namespace QuanLyBilliards_Coffee
{
    public partial class FrmThemKhachHangTam : Form
    {
        public FrmThemKhachHangTam()
        {
            InitializeComponent();
        }
         public static KhachHang khag=new KhachHang();
        public static bool kiemtra=false;
        public IKhachHangRepository kh = new KhachHangRepository();
      
        private void FormThemKhachHang_Load(object sender, EventArgs e)
        {
            
            txtmakh.ReadOnly = kiemtra;
            LoadKhachHang(khag);
            
        }

        private void btthoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void LoadKhachHang(KhachHang kh)
        {
            txtmakh.Text = kh.MaKH;
            txttenkh.Text  =kh.TenKH;
            txtdiachi.Text=kh.DiaChi;
            txtsodt.Text=kh.SoDT;
            if (kh.NgaySinh > dtpngaysinh.MinDate)
                dtpngaysinh.Value = kh.NgaySinh;
            else dtpngaysinh.Value = DateTime.Now;
            mtbCMND.Text=kh.CMND;

        }
        public  bool KiemTra(string s, List<KhachHang> ds)
        {
            foreach (var item in ds)
                if (item.MaKH.Trim().ToUpper() == s.Trim().ToUpper())
                    return true;
            return false;

        }

        private void btnthem_Click(object sender, EventArgs e)
        {

            string ma = txtmakh.Text;
            KhachHang khthem=LayDLConTrol();
           if (!KiemTra(ma, kh.GetAll().ToList()))
            {
                if (kh.AddNew(khthem))
             
                
                        MessageBox.Show("Thêm Thành Công");
               else
                  
                        MessageBox.Show("Thêm Không Thành Công");
           }   
                
                else
                   
                    if(MessageBox.Show("DL Đã có muốn cập nhật không", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (kh.Update(khthem))
                        MessageBox.Show("cập nhật Thành Công");
                    else MessageBox.Show("cập nhật Không Thành Công");

            //string ma = txtmakh.Text;
            //KhachHang khthem=LayDLConTrol();
            //if (!BLLKhachHang.KiemTra(ma, kh.GetAll().ToList()))
            //{
            //   if( kh.AddNew(khthem))
            //       MessageBox.Show("Thêm Thành Công");
            //   else MessageBox.Show("Thêm Không Thành Công");
            //}
            //else
            //{
            //    if (MessageBox.Show("DL Đã có muốn cập nhật không", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            //    {
            //         if(kh.Update(khthem))
            //             MessageBox.Show("cập nhật Thành Công");
            //         else MessageBox.Show("cập nhật Không Thành Công");


                }
           }
          
          
 

            //    }
            //}
        


      private  KhachHang LayDLConTrol()
        {
           KhachHang khg=new KhachHang();
            khg.MaKH = txtmakh.Text;
            khg.TenKH = txttenkh.Text;
            khg.SoDT = txtsodt.Text;
            khg.CMND = mtbCMND.Text;
            khg.DiaChi = txtdiachi.Text;
            khg.NgaySinh = dtpngaysinh.Value;
            return khg;
        }
        public bool KiemTraSDT(string s)
        {
            string pattern = @"^0([1-9]{1})\d{8,9}";
            Regex rg = new Regex(pattern, RegexOptions.IgnoreCase);
            if (!rg.IsMatch(s))
            {
              //if(  MessageBox.Show("Chưa Nhập Đúng Định Dạng","Hướng Dẫn ViDu:098986480",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)==DialogResult.Ignore)
                return false;
            }
            return true;
        }
        public bool KiemTraNhapSo(string t)
        {
            string s = mtbCMND.Text;
           string pattern = @"[0-9]";
            Regex rg = new Regex(pattern, RegexOptions.IgnoreCase);
            if (!rg.IsMatch(s))
            {
            
                //if(  MessageBox.Show("Nhập Chưa Đúng","Hướng Dẫn ViDu:1298986480",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)==DialogResult.Ignore)
                return false;
            }
            return true;
        }
     

        private void txtsodt_Validated(object sender, EventArgs e)
        {

        this.errorProvider1.SetError(txtsodt, "");

        }

        private void txtsodt_Validating(object sender, CancelEventArgs e)
        {
            string t = txtsodt.Text;
            if (!KiemTraSDT(t))
            {
                //txtsodt.Text = "";
                this.errorProvider1.SetError(txtsodt, "Ví Dụ 01234556");
                e.Cancel = true;


            }
        }

        private void mtbCMND_Validated(object sender, EventArgs e)
        {
            this.errorProvider1.SetError(mtbCMND, "");
        }

        private void mtbCMND_Validating(object sender, CancelEventArgs e)
        {
            string t = mtbCMND.Text;
            if (!KiemTraNhapSo(t))
            {
                
                mtbCMND.Text = "";
                this.errorProvider1.SetError(mtbCMND, "Ví Dụ :12345555");
            }
        }

    }
}
